package br.com.windroid.conceitows;

import java.io.Serializable;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import br.com.windroid.conceitows.ws.UsuarioResource;
import br.com.windroid.sigtap.seguranca.entity.Usuario;
import br.com.windroid.sigtap.seguranca.enums.TipoUsuario;
import br.com.windroid.sigtap.seguranca.enums.UnidadeFederacao;

public class UsuarioFormActivity extends Activity {

	private UsuarioResource usuarioResource;
	private Usuario usuarioCorrente;
	private EditText editTextFormNome;
	private EditText editTextFormEmail;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.usuario_form);

		editTextFormNome = (EditText) findViewById(R.id.editTextFormNome);
		editTextFormEmail = (EditText) findViewById(R.id.editTextFormEmail);
		Button salvar = (Button) findViewById(R.id.buttonFormSalvar);
		// Configura evento onClickListenerSalvar no click do botão salvar
		salvar.setOnClickListener(onClickListenerSalvar);

		usuarioResource = new UsuarioResource();

		Serializable id = getIntent().getSerializableExtra(
				UsuarioListActivity.USUARIO_ID);
		if (id != null) {
			usuarioCorrente = usuarioResource.buscarUsuario((Long) id);
		}
		
		if (usuarioCorrente != null) {
			carregarUsuario();
		}
	}

	private void carregarUsuario() {
		editTextFormNome.setText(usuarioCorrente.getNome());
		editTextFormEmail.setText(usuarioCorrente.getEmail());
	}

	/**
	 * Evento ao clicar no botão salvar
	 */
	private final View.OnClickListener onClickListenerSalvar = new View.OnClickListener() {
		public void onClick(View v) {
			salvar();
		}
	};

	private void salvar() {
		if (usuarioCorrente == null || usuarioCorrente.getId() == null) {
			usuarioCorrente = new Usuario();
		}
		usuarioCorrente.setNome(editTextFormNome.getText().toString());
		usuarioCorrente.setEmail(editTextFormEmail.getText().toString());
		
		if(usuarioCorrente.getId() == null){			
			usuarioResource.adicionarUsuario(usuarioCorrente);
		}else{
			usuarioResource.atualizarUsuario(usuarioCorrente);
		}
		
		
		// Fecha Activity
		finish();
	}

}
